一、题目大意请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop和empty)。实现MyStack类:voidpush(intx)将元素x压入栈顶。intpop()移除并返回栈顶元素。inttop()返回栈顶元素。booleanempty()如果栈是空的,返回true;否则,返回false。注意:你只能使用队列的基本操作——也就是pushtoback、peek/popfromfront、size和isempty这些操作。你所使用的语言也许不支持队列。你可以使用list(列表)或者deque(双端队列)来模拟一个队列,只要是标准的队列操作即可。
一、题目大意https://leetcode.cn/problems/range-sum-query-immutable给定一个整数数组 nums,处理以下类型的多个查询:计算索引 left 和 right (包含left和right)之间的nums元素的和,其中 left实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums 中索引 left 和 right 之间的元素的总和,包含 left 和 right 两点(也就是 nums[left]+nums[left+1]+...+nums[right]
一、题目大意https://leetcode.cn/problems/longest-consecutive-sequence给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n)的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示例2:输入:nums=[0,3,7,2,5,8,4,6,0,1]输出:9提示:0-109二、解题思路可以把所有数字放到一个哈希表,然后不断地从哈希表中任意取一个值,并删除掉其之前之后的所有连续数字,
239.SlidingWindowMaximum滑动窗口最大值一、题目大意标签:双端队列https://leetcode.cn/problems/sliding-window-maximum/给你一个整数数组nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值[13-1]-3536731[3-1-3]5367313[-1-35]367513-1[-353]67
一、题目大意标签:栈和队列https://leetcode.cn/problems/merge-k-sorted-lists给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例2:输入:lists=[]输出:[]示例3:输入:lists=[[]]输出:[]提示:k==lists.length00-
一、题目大意标签:栈和队列https://leetcode.cn/problems/daily-temperatures给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,1,0,0]示例2:输入:temperatures=[30,40,50,60]输出: [1,1,1,0]示例3:输入:temperatures=[
一、题目大意https://leetcode.cn/problems/range-sum-query-2d-immutable给定一个二维矩阵matrix,以下类型的多个请求:计算其子矩形范围内元素的总和,该子矩阵的左上角为(row1,col1),右下角为(row2,col2)。实现NumMatrix类:NumMatrix(int[][]matrix)给定整数矩阵matrix进行初始化intsumRegion(introw1,intcol1,introw2,intcol2)返回左上角(row1,col1)、右下角(row2,col2)所描述的子矩阵的元素总和。示例1:,右下角为(row2,col2)。实现NumMatrix类:NumMatrix(int[][]matrix)给定整数矩阵matrix进行初始化intsumRegion(introw1,intcol1,introw2,intcol2)返回左上角(row1,col1)、右下角(row2,col2)所描述的子矩阵的元素总和。示例1:![img](images
题目信息源地址:最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。提示信息示例1输入:strs=["flower","flow","flight"]输出:"fl"提示2输入:strs=["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示10strs[i]仅由小写英文字母组成实现逻辑逐一对比此方法如其名称,即将数组中的字符串逐一进行对比,先找出第一、第二个字符串的最长公共前缀,再找出第二、第三个字符串的最长公共前缀,以此类推,直至完成所有字符串的比较。当然,当在对比过程中发现最长公共前缀已经为空,则直接返回即可。此方
题目信息源地址:最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。提示信息示例1输入:strs=["flower","flow","flight"]输出:"fl"提示2输入:strs=["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示10strs[i]仅由小写英文字母组成实现逻辑逐一对比此方法如其名称,即将数组中的字符串逐一进行对比,先找出第一、第二个字符串的最长公共前缀,再找出第二、第三个字符串的最长公共前缀,以此类推,直至完成所有字符串的比较。当然,当在对比过程中发现最长公共前缀已经为空,则直接返回即可。此方